home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / libxml2 / libxml / nanoftp.h < prev    next >
C/C++ Source or Header  |  2006-04-25  |  3KB  |  144 lines

  1. /*
  2.  * Summary: minimal FTP implementation
  3.  * Description: minimal FTP implementation allowing to fetch resources
  4.  *              like external subset.
  5.  *
  6.  * Copy: See Copyright for the status of this software.
  7.  *
  8.  * Author: Daniel Veillard
  9.  */
  10.  
  11. #ifndef __NANO_FTP_H__
  12. #define __NANO_FTP_H__
  13.  
  14. #include <libxml/xmlversion.h>
  15.  
  16. #ifdef LIBXML_FTP_ENABLED
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22. /**
  23.  * ftpListCallback: 
  24.  * @userData:  user provided data for the callback
  25.  * @filename:  the file name (including "->" when links are shown)
  26.  * @attrib:  the attribute string
  27.  * @owner:  the owner string
  28.  * @group:  the group string
  29.  * @size:  the file size
  30.  * @links:  the link count
  31.  * @year:  the year
  32.  * @month:  the month
  33.  * @day:  the day
  34.  * @hour:  the hour
  35.  * @minute:  the minute
  36.  *
  37.  * A callback for the xmlNanoFTPList command.
  38.  * Note that only one of year and day:minute are specified.
  39.  */
  40. typedef void (*ftpListCallback) (void *userData,
  41.                              const char *filename, const char *attrib,
  42.                              const char *owner, const char *group,
  43.                  unsigned long size, int links, int year,
  44.                  const char *month, int day, int hour,
  45.                  int minute);
  46. /**
  47.  * ftpDataCallback: 
  48.  * @userData: the user provided context
  49.  * @data: the data received
  50.  * @len: its size in bytes
  51.  *
  52.  * A callback for the xmlNanoFTPGet command.
  53.  */
  54. typedef void (*ftpDataCallback) (void *userData,
  55.                  const char *data,
  56.                  int len);
  57.  
  58. /*
  59.  * Init
  60.  */
  61. XMLPUBFUN void XMLCALL
  62.     xmlNanoFTPInit        (void);
  63. XMLPUBFUN void XMLCALL    
  64.     xmlNanoFTPCleanup    (void);
  65.  
  66. /*
  67.  * Creating/freeing contexts.
  68.  */
  69. XMLPUBFUN void * XMLCALL    
  70.     xmlNanoFTPNewCtxt    (const char *URL);
  71. XMLPUBFUN void XMLCALL    
  72.     xmlNanoFTPFreeCtxt    (void * ctx);
  73. XMLPUBFUN void * XMLCALL     
  74.     xmlNanoFTPConnectTo    (const char *server,
  75.                  int port);
  76. /*
  77.  * Opening/closing session connections.
  78.  */
  79. XMLPUBFUN void * XMLCALL     
  80.     xmlNanoFTPOpen        (const char *URL);
  81. XMLPUBFUN int XMLCALL    
  82.     xmlNanoFTPConnect    (void *ctx);
  83. XMLPUBFUN int XMLCALL    
  84.     xmlNanoFTPClose        (void *ctx);
  85. XMLPUBFUN int XMLCALL    
  86.     xmlNanoFTPQuit        (void *ctx);
  87. XMLPUBFUN void XMLCALL    
  88.     xmlNanoFTPScanProxy    (const char *URL);
  89. XMLPUBFUN void XMLCALL    
  90.     xmlNanoFTPProxy        (const char *host,
  91.                  int port,
  92.                  const char *user,
  93.                  const char *passwd,
  94.                  int type);
  95. XMLPUBFUN int XMLCALL    
  96.     xmlNanoFTPUpdateURL    (void *ctx,
  97.                  const char *URL);
  98.  
  99. /*
  100.  * Rather internal commands.
  101.  */
  102. XMLPUBFUN int XMLCALL    
  103.     xmlNanoFTPGetResponse    (void *ctx);
  104. XMLPUBFUN int XMLCALL    
  105.     xmlNanoFTPCheckResponse    (void *ctx);
  106.  
  107. /*
  108.  * CD/DIR/GET handlers.
  109.  */
  110. XMLPUBFUN int XMLCALL    
  111.     xmlNanoFTPCwd        (void *ctx,
  112.                  const char *directory);
  113. XMLPUBFUN int XMLCALL    
  114.     xmlNanoFTPDele        (void *ctx,
  115.                  const char *file);
  116.  
  117. XMLPUBFUN int XMLCALL    
  118.     xmlNanoFTPGetConnection    (void *ctx);
  119. XMLPUBFUN int XMLCALL    
  120.     xmlNanoFTPCloseConnection(void *ctx);
  121. XMLPUBFUN int XMLCALL    
  122.     xmlNanoFTPList        (void *ctx,
  123.                  ftpListCallback callback,
  124.                  void *userData,
  125.                  const char *filename);
  126. XMLPUBFUN int XMLCALL    
  127.     xmlNanoFTPGetSocket    (void *ctx,
  128.                  const char *filename);
  129. XMLPUBFUN int XMLCALL    
  130.     xmlNanoFTPGet        (void *ctx,
  131.                  ftpDataCallback callback,
  132.                  void *userData,
  133.                  const char *filename);
  134. XMLPUBFUN int XMLCALL    
  135.     xmlNanoFTPRead        (void *ctx,
  136.                  void *dest,
  137.                  int len);
  138.  
  139. #ifdef __cplusplus
  140. }
  141. #endif
  142. #endif /* LIBXML_FTP_ENABLED */
  143. #endif /* __NANO_FTP_H__ */
  144.